package cn.le.thread;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 *Executor管理thread对象,简化了并发编程,Executor在客户端和任务执行之间提供了一个间接层,
 * 于客户端直接执行任务不同,这个中介对象将执行任务,Executor允许管理异步任务的执行,而无需显
 * 式的管理线程的生命周期
 *
 * ExecutorService具有服务生命周期的Executor(如关闭),知道如何构建恰当的上下文来执行Runnable对象
 * 使用Executor的静态方法来创建
 *
 */
public class CachedThreadePool {

    public static void main(String[] args) {

        ExecutorService exec = Executors.newCachedThreadPool();

        for (int i = 0; i < 5; i++)
        {
            exec.execute(new LiftOff());
            System.out.println();
        }
        exec.shutdown();//启动一次顺序关闭，执行以前提交的任务，但不接受新任务。
    }

}
